"""
Python函数
函数：把相同或相似功能的代码封装在一起，实现一次编写，多次调用的效果
函数的创建：
def 函数名(参数列表)：   形参
    函数体{return 值}

函数的调用：
函数名(参数列表)    实参

变量 = 函数名(参数列表)

函数的参数类型：
1、位置参数：在函数调用时，传入的参数数量要和定义时的参数数量要保持一致，并且传入的参数顺序也要保持一致。
2、关键字参数：采用“关键字=实参”的形式进行传值，关键字就是形参参数名。如果使用关键字参数进行传值的话，可以不用遵循位置参数的传值顺序。
3、默认值参数：允许为形参参数设定默认值。如果为该参数设定默认值后，在函数调用时可以不用为该参数传入值，这时，程序也不会报错，参数的值就会采用默认的参数值；
如果为该参数设定默认值后，在函数调用时为该参数传入值了，这时，程序的值就会采用传入的参数的值，不会采用默认的参数值。
4、可变参数：
    基于元组的可变参数
    *形参参数名
    基于字典的可变参数
    **形参参数名





"""
# def user(username, password):
#     # print("用户名：", username)
#     # print("密码：", password)
#     return username,password
#
# # user("admin", "123456")
#
# r = user("admin", "123456")
# print(r, type(r))

# def user(username,password):
#     print("用户名：",username)
#     print("密码：",password)
#
# user("admin","123456")

# def user(username,password):
#     print("用户名：",username)
#     print("密码：",password)
#
# user(username="admin",password="123456")

# def user(username,password='123456'):
#     print("用户名：",username)
#     print("密码：",password)
#
# user("admin","456789")

# def info(*info):
#     print(info,type(info))
#
# info()
# info(1,2,3,4,5,6,7,8,9,10)

# def info(**info):
#     print(info,type(info))
#
# info()
# info(name='admin',age=18,sex='男')

a = 10
def add(b,c):
    global d
    d = 20
    z = a + b + c + d
    return z
print(add(1,2))
print(d)








